package cn.minhx.domain.strategy.service.rule.chain;

import cn.minhx.domain.strategy.service.rule.chain.factory.DefaultChainFactory;

/**
 * 抽奖策略责任链
 * 判断走那种抽奖策略。如；默认抽象、权重抽奖、黑名单抽奖
 *
 * @author min
 */
public interface ILogicChain extends ILogicChainArmory {

    /**
     * 执行逻辑
     *
     * @param userId     用户
     * @param strategyId 抽奖策略
     * @return 奖品
     */
    DefaultChainFactory.StrategyAwardVO logic(String userId, Long strategyId);

}